Parallelizing Programs for the Multicore Era
نویسندگان
چکیده
Modern processors are very advanced but still suffer the bottleneck of slow memory access speeds. Processors now have the ability to run multiple tasks in parallel. This means that the processor runs multiple tasks concurrently, rather than sequentially, thus reducing the effect of memory access times. Utilizing this ability is called parallelization. There are many standards in place that allow programmers to implement this technique in their programs. This can improve the speed of the program, as well as reduce memory usage. The techniques of parallelization, also called multithreading, are investigated in the context of matrix multiplication, an important mathematical operation. Also studied are the methods by which a processor stores and retrieves memory to the cache, which exists within the processor itself, and methods by which cache usage can be optimized. Parallelization was found to have a significant improvement on program running time, achieving up to 5 times speed boosts in certain cases.
منابع مشابه
Certifiably Sound Parallelizing Transformations
Sustaining scalable performance trends in the multicore era has led many compiler researchers to develop a host of optimizations to parallelize sequential programs. At the same time, formal methods researchers have pushed compiler verification technology forward to the point that real compilers may be checked for correctness by proving that the compiler preserves a simulation relation between t...
متن کاملAn Approach to Parallelizing Fortran Programs using Rewriting Rules Technique
We present an ongoing research in the area of transforming existing sequential Fortran programs into their parallel equivalents. Our approach is to use rewriting rules technique in order to automate the transformation process. Sequential source code is transformed into parallel code for shared-memory systems, such as multicore processors. Parallelizing and optimizing transformations are formall...
متن کاملA Parallelizing Compiler Cooperative Heterogeneous Multicore Processor Architecture
Heterogeneous multicore architectures integrating several kinds of accelerator cores in addition to general purpose processor cores have been attracting much attention to realize high performance with low power consumption. To attain effective high performance, high application software productivity, and low power consumption on heterogeneous multicores, cooperation between the architecture and...
متن کاملApplication of Parallel Computing with Using of Orders Based Transparent Parallelizing Technology for the Modeling and Simulation Application of Parallel Computing with Using of Or- Ders Based Transparent Parallelizing Technology for the Modeling and Simulation
APPLICATION OF PARALLEL COMPUTING WITH USING OF ORDERS BASED TRANSPARENT PARALLELIZING TECHNOLOGY FOR THE MODELING AND SIMULATION / V.D. Pavlenko, V.V. Burdejnyj, S.V. Pavlenko (Odessa National Polytechnic University, Shevchenko Av. 1, Odessa, 65044, Ukraine, E-mail: [email protected]), Practical usage of the implementation of orders based transparent parallelizing technology is describe...
متن کاملA Proof Theory for Loop-Parallelizing Transformations
The microprocessor industry has embraced multicore architectures as the new dominant design paradigm. Harnessing the full power of such computers requires writing multithreaded programs, but regardless of whether one is writing a program from scratch or porting an existing single-threaded program, concurrency is hard to implement correctly and often reduces the legibility and maintainability of...
متن کامل